#pragma once

#include "Max.h"

#include "3rd_part\xml\tinyxml.h"

class Exporter;
class ExNode
{
public:

	typedef std::vector< ExNode* > ChildrenNodes;
	typedef ChildrenNodes::iterator itrChildrenNode;

	ExNode( INode* pNode );
	~ExNode(void);

	void AddChildNode( ExNode* pChild );
	void RemoveAllChildrenNodes( void );

	void SetParent( ExNode* pParent );
	ExNode* GetParent( void ) const;

	INode* GetMaxNode(void) const;

	void Save( TiXmlNode* pParentSection );

private:

	INode* m_pNode;
	ExNode* m_pParent;
	ChildrenNodes m_Children;

	std::string m_strNodeId;
};

